package com.dq.context;

import com.alibaba.fastjson.JSONObject;
import com.dq.domain.sys.role.SysRole;

import java.util.ArrayList;
import java.util.List;

/**
 * 本地项目常量
 */
public final class Constant {
    /** 项目名称 */
    public static final String APPLICATION_NAME = "xzBeauty";
    /** 项目 数据库初始版本 */
    public static final Integer VERSION_VALUE = 1;
    /** 默认分页 */
    public static Integer DEFAULT_PAGE = 1;
    public static Integer DEFAULT_SIZE = 10;


    /** 超级管理员ID */
    public static final long ADMIN_ID = 1;
    /** 超级管理员 code */
    public static final String ADMIN_CODE = "admin";

    /** 默认密码 */
    public static final String DEFAULT_PASS_WORD = "888888";
    /** 密码位数限制 */
    public static Integer PASSWORD_SIZE = 6;

    /** header token 验证字段 */
    public static final String HEAD_TOKEN = "X-Dqmall-Token";

    /** 随机字符串 追加位数 */
    public static final Integer ORDERS_SUFF_COUNT = 4;

    /**
     * 默认评价模板名称
     */
    public static final String EVALUATIONTEMPLATE_NAME = "评价模板";
    public static final long EVALUATIONTEMPLATE_ID = 1;


    /**
     * 腾讯
     */
    public static final String TX_KEY = "RQ7BZ-ZNWRJ-SNBFY-KXT4E-XNU6J-P6BYP";
    public static final String TX_WEBSERVVICE_KEY = "Qmz0ySrtzgwcNkmA1JYVpMJxe7qiRU";

    /** 腾讯地图API域名; 注意: https://apis.map.qq.com/ 最后的 '/' 可存在 */
    public static final String TX_HTTP_URL = "https://apis.map.qq.com/";
    /** 地址解析: 地址转坐标; 注意: /ws/geocoder/v1/ 或者 /ws/geocoder/v1 都可以 */
    public static final String TX_ADR_2_LNG_URL = "/ws/geocoder/v1/";

    /** 腾讯API 返回json key */
    public static final String TX_CODE = "status";
    public static final String TX_CODE_VALUE = "0";
    public static final String TX_MSG = "message";


    /**
     * 默认角色
     */
    public static final List<SysRole.RoleInit> ROLE_LIST;
    public static final List<String> ROLE_CODE_LIST;
    static {
        // 注意： 角标位置不能变
        ROLE_LIST = new ArrayList<>();
        // admin 管理员角色 code
        ROLE_LIST.add(new SysRole.RoleInit(ADMIN_CODE, "超级管理员", "系统超级管理员", false));
        ROLE_LIST.add(new SysRole.RoleInit("provincialTotal", "省总经理", "省总经理", false));
        ROLE_LIST.add(new SysRole.RoleInit("departmentManager", "部门经理", "部门经理", false));
        ROLE_LIST.add(new SysRole.RoleInit("manager", "店长", "店长", false));
        ROLE_LIST.add(new SysRole.RoleInit("employee", "员工", "员工", false));
        ROLE_LIST.add(new SysRole.RoleInit("teacher", "带单老师", "带单老师", false));

        ROLE_CODE_LIST = new ArrayList<>();
        for (SysRole.RoleInit roleInit : ROLE_LIST) {
            ROLE_CODE_LIST.add(roleInit.getCode());
        }
    }

    /**
     * 流程图
     */
    public static List<JSONObject> FLOW_LIST;
    static {
        // 显示审批流程图
        FLOW_LIST = new ArrayList<>();
        JSONObject jsonObject01 = new JSONObject();
        jsonObject01.put("name", "提交审核");
        jsonObject01.put("isExecute", false);
        FLOW_LIST.add(jsonObject01);
        JSONObject jsonObject0 = new JSONObject();
        jsonObject0.put("name", "boss审核");
        jsonObject0.put("isExecute", false);
        FLOW_LIST.add(jsonObject0);
        JSONObject jsonObject02 = new JSONObject();
        jsonObject02.put("name", "财务审批");
        jsonObject02.put("isExecute", false);
        FLOW_LIST.add(jsonObject02);
        JSONObject jsonObject03 = new JSONObject();
        jsonObject03.put("name", "仓库确认");
        jsonObject03.put("isExecute", false);
        FLOW_LIST.add(jsonObject03);
        JSONObject jsonObject04 = new JSONObject();
        jsonObject04.put("name", "门店确认到货");
        jsonObject04.put("isExecute", false);
        FLOW_LIST.add(jsonObject04);
    }

}
